/*
 * mime.h
 *
 *  Created on: 2024年9月4日
 *      Author: pengzc
 */

#ifndef HTTP_HTTP_MIME_H_
#define HTTP_HTTP_MIME_H_

#include <curl/curl.h>
#include <string>

namespace http {

class Mime {
public:
  Mime();
  virtual ~Mime();

  /**
   * 添加字段
   * @param name
   * @param data
   */
  void add(const std::string& name, const std::string& data);

  /**
   * 添加文件
   * @param name 字段名称
   * @param filename 远程文件名
   * @param path 本地文件路径
   */
  void addFile(const std::string& name, const std::string& filename,
      const std::string& path);

  curl_mime* mime() const;

private:
  CURL* easy_;
  curl_mime* mime_;
};

} /* namespace http */

#endif /* HTTP_HTTP_MIME_H_ */
